# IRCaBot 
An undemanding IRC logger with a functional web interface. Flagman [instance](https://major.bazari.sh) (for example).

[![Download ircabot](https://a.fsdn.com/con/app/sf-download-button)](https://sourceforge.net/projects/ircabot/files/latest/download)

##### User features

- The web interface displays the current online for each chat, with nicknames highlighted in the log;
- Search with regular expressions;
- To get the log as plain text, you need to substitute the `.txt`  to the link;
- To hide the message in the log, you can put a dot at the beginning (message will be displayed as "Blinded message");
- Connection status to the servers is displayed in real time (green check mark or red cross). This allows you to judge whether the log is up to date;
- Real time reading chat via JavaScript and AJAX magic.

<img src="https://notabug.org/acetone/ircabot/raw/master/screenshots/1.png"/>

<img src="https://notabug.org/acetone/ircabot/raw/master/screenshots/2.png"/>

<img src="https://notabug.org/acetone/ircabot/raw/master/screenshots/3.png"/>

##### Admin features

- Unlimited number of servers and chat rooms;
- Ability to use one nickname for all connections, or unique for each server;
- Nickname authorization support via NickServ;
- Customizable triggers for issuing information by bot in chat;
- Real time reading mode may be disabled via configuration file (for JS haters, etc);
- Low system resource consumption: connecting to two servers and active use of the web interface requires ~20MB RAM.

#### First start (Debian/Ubuntu/etc)

```bash
# Qt5 C++ framework dependencies:
sudo apt install qt5-default

# Create a configuration file template:
./ircabot --example ./config.conf

# Edit config.conf for your case.

# Start ircabot with new configuration file:
./ircabot --config ./config.conf
```

##### Install

- Edit `systemd/ircabot.service`;
- Copy service file to `/lib/systemd/system/`;
- Run ircabot: `sudo systemctl start ircabot.service`;
- Enable (for autorun at system startup): `sudo systemctl enable ircabot.service`.

